Smart Home Troubleshooting Guide
Common Issues
Device Not Discovered
**Symptoms:**
- Device exists in hub app but not in ATOM SaaS
- Discovery returns 0 devices
**Causes:**
- Device not paired with hub
- Hub not connected to network
- Device excluded from selected location/room
- Hub firmware outdated
**Solutions:**
- **Verify hub connectivity:** Check hub app can see devices
- **Refresh discovery:** Integrations → [Platform] → Discover Devices
- **Check device pairing:** Pair device with hub first
- **Restart hub:** Unplug for 30 seconds, plug back in
- **Update firmware:** Check for hub updates in hub app
- **Re-pair device:** Remove from hub, re-add, re-discover
**Advanced:**
- Check network: Hub and ATOM SaaS on same network (for local hubs)
- Firewall rules: Allow mDNS (Hue), WebSocket (Home Assistant)
- API limits: Rate limiting may block discovery, wait and retry
---
OAuth Connection Failed
**Symptoms:**
- Authorization page shows error
- Redirect fails with 400/401 error
- Tokens invalid immediately after authorization
**Causes:**
- Redirect URI mismatch
- Invalid Client ID or Secret
- OAuth consent screen not configured
- Token expired
**Solutions:**
- **Verify redirect URI:** Must match exactly in OAuth app settings
- **Check credentials:** Copy-paste Client ID/Secret, ensure no extra spaces
- **Configure consent screen:** OAuth app must have consent screen configured
- **Re-authorize:** Revoke old tokens, run OAuth flow again
- **Check app status:** Verify OAuth app is active in developer console
**Platform-specific:**
- **SmartThings:** Check API Key permissions, ensure scope includes
r:devices:* - **Nest:** Verify Google Cloud project has SDM API enabled
- **Alexa:** Check security profile credentials, redirect URL in LWA console
---
Device Not Responding
**Symptoms:**
- Command sent but device doesn't change state
- State shows "offline" or "unreachable"
- Commands timeout
**Causes:**
- Device powered off or disconnected
- Device out of range of hub
- Hub offline or disconnected from network
- Rate limiting (commands delayed)
- Device firmware bug
**Solutions:**
- **Check device power:** Verify device is plugged in, battery charged
- **Check hub status:** Hub app shows hub online?
- **Test in hub app:** Control device from hub app (rules out hub/device issue)
- **Sync device state:** ATOM SaaS → Devices → [Device] → Sync
- **Check distance:** Device within range of hub? (Zigbee/Z-Wave ~100ft)
- **Restart device:** Unplug for 30 seconds, plug back in
- **Re-pair device:** Remove from hub, re-add
- **Check for interference:** Microwaves, other wireless devices
**Rate limiting:**
- Hue: 10 req/sec limit, commands auto-queued
- SmartThings: 150 req/min, exponential backoff on 429
- Nest: 1500 req/min, rarely hit limit
---
State Not Syncing
**Symptoms:**
- Device state in ATOM SaaS doesn't match actual state
- State updates delayed by minutes/hours
- State shows "unknown" or "error"
**Causes:**
- Polling interval too long
- WebSocket disconnected (Home Assistant)
- Hub not reporting state changes
- State cache outdated
**Solutions:**
- **Manually sync:** Devices → [Device] → Sync
- **Adjust polling:** Integrations → [Platform] → Poll Interval (reduce for faster updates)
- **Check WebSocket:** Home Assistant → WebSocket Status (should be "Connected")
- **Verify hub reporting:** Check hub app for state changes, hub push notifications enabled
- **Clear cache:** Devices → [Device] → Clear Cache → Sync
- **Restart integration:** Integrations → [Platform] → Restart
**WebSocket issues (Home Assistant):**
- Check HA logs for WebSocket errors
- Verify long-lived access token is valid
- Test WebSocket connection: Browser DevTools → WS → connect to
ws://ha-url/api/websocket - Reconnect: Integrations → Home Assistant → Reconnect
---
Rate Limit Errors
**Symptoms:**
- API returns 429 status code
- Commands delayed or queued
- "Rate limit exceeded" error messages
**Causes:**
- Too many API calls in short time
- Polling interval too short
- Too many automations triggering at once
- Bulk operations on many devices
**Solutions:**
- **Reduce polling frequency:** Increase poll interval (default: 5-10 seconds)
- **Use webhooks:** Enable webhooks for real-time updates instead of polling
- **Batch commands:** Use scenes/groups instead of individual device control
- **Add delays in automations:** Spread out device control over time
- **Optimize automations:** Reduce number of automations, combine where possible
- **Check usage:** Integrations → [Platform] → Rate Limits (view current usage)
**Platform limits:**
- Hue: 10 req/sec (strict, enforced by bridge)
- SmartThings: 150 req/min (enforced by cloud API)
- Nest: 1500 req/min (generous, rarely hit)
- Home Assistant: Unlimited (local WebSocket)
---
Hub-Specific Issues
Hue Bridge Not Found
**Diagnosis:**
- Hue app can find bridge? → Yes: Bridge OK, ATOM SaaS network issue
- Hue app can't find bridge? → No: Bridge network issue
**Solutions:**
- **Check bridge LEDs:** 3 blue LEDs = network OK, 1 blinking = searching for network
- **Manual IP entry:** Discover → Manual Entry → Enter bridge IP (find in Hue app → Settings → My Bridge → Network info)
- **Network check:** Bridge and ATOM SaaS on same network? Same subnet?
- **Firewall:** Allow mDNS (UDP port 5353), TCP port 80
- **Restart bridge:** Unplug 30 seconds, plug back in
- **Factory reset:** Last resort (hold button until LED flashes)
**mDNS issues:**
- macOS: System Preferences → Security → Firewall → Allow incoming connections
- Windows: Windows Firewall → Allow mDNS
- Router: Enable mDNS/Bonjour/UPnP
---
SmartThings API Errors
**Error Codes:**
- 400: Invalid request, bad parameters
- 401: Unauthorized, tokens expired
- 403: Forbidden, insufficient permissions
- 404: Device/location not found
- 429: Rate limit exceeded
- 500: SmartThings cloud error
**Solutions:**
- **Check tokens:** Integrations → SmartThings → Re-authenticate
- **Verify scope:** OAuth app must have
r:devices:*andx:devices:* - **Check location:** Device exists in selected location?
- **Review permissions:** OAuth app has permission for device type?
- **SmartThings status:** Check status.smartthings.com
- **Reduce polling:** Increase poll interval to avoid rate limits
**Device not in SmartThings:**
- Device must be paired with SmartThings Hub first
- Check SmartThings app → My Home → Devices
- Exclude/include device: SmartThings app → Device → Remove, re-add
---
Home Assistant Connection Issues
**WebSocket Connection Failed:**
**Diagnosis:**
- Test in browser:
ws://your-ha-url:8123/api/websocket - Check HA logs: Settings → System → Logs → WebSocket errors
- Verify token: Profile → Long-Lived Access Tokens → Regenerate
**Solutions:**
- **Regenerate token:** Old token may have expired
- **Check URL:** Include port (default: 8123), use
ws://orwss://for HTTPS - **CORS settings:**
configuration.yamlmust include ATOM SaaS domain:
- https://your-atom-saas-domain.com
- **Restart HA:** Configuration → Server Controls → Restart
- **Check firewall:** Allow TCP port 8123
- **Use HTTPS:** For remote HA, enable SSL, use
wss://
**Entity Not Found:**
- Check entity ID in HA (Developer Tools → States)
- Entity must be enabled (disable/enable in HA)
- ATOM SaaS filters
hiddenentities by default
---
Nest Authentication Failures
**OAuth Flow Errors:**
**Common errors:**
redirect_uri_mismatch: Redirect URI doesn't match OAuth appaccess_denied: User denied authorizationinvalid_client: Client ID/Secret wrongunauthorized_client: OAuth app misconfigured
**Solutions:**
- **Verify redirect URI:** Exactly match in Google Cloud Console
- **Check OAuth screen:** Consent screen configured, published
- **Verify scopes:**
https://www.googleapis.com/auth/sdm.serviceenabled - **Check billing:** Google Cloud project must have billing enabled (even for free tier)
- **Test OAuth:** Use OAuth 2.0 Playground
- **Recreate credentials:** Delete OAuth client, create new
**No Devices Found:**
- Device must be in Google Home app
- Check structure: OAuth linked to correct home/structure?
- Device type: Only thermostats supported currently (SDM API limitation)
- Firmware: Nest device must be updated to latest firmware
---
Automation Issues
Rule Not Triggering
**Diagnosis:**
- Check run history: Automations → [Automation] → Run History
- View current states: Compare trigger conditions with actual device states
- Test manually: Automations → [Automation] → Test Run
**Solutions:**
- **Verify trigger conditions:** Are trigger conditions actually met?
- **Check device states:** View device state, compare with trigger
- **Verify time zone:** Automation time zone matches your location?
- **Check enablement:** Automation is enabled (not disabled)?
- **Review conditions:** All conditions must be true (AND) or any true (OR)
- **Circular dependency:** Rule triggers itself? (causes infinite loop)
**Example:**
- Trigger: "Motion detected"
- Check: Motion sensor shows "active" in device state?
- If not: Motion sensor not working, not trigger issue
---
Conditions Not Evaluating
**Symptoms:**
- Conditions always false
- Conditions never met
- Logic not working as expected
**Solutions:**
- **Test conditions individually:** Create automation with single condition, test
- **Check logical operators:** AND = all true, OR = any true, NOT = inverted
- **Verify comparison:**
>vs>=,=vscontains - **Check time zones:** Time range in local time zone?
- **Review condition order:** Conditions evaluated top-to-bottom
- **Test rule manually:** Automations → [Automation] → Test
**Complex conditions:**
- Break into multiple rules (simpler debugging)
- Use scenes instead of complex logic
- Add logging action (send notification) to see execution flow
---
Actions Failing
**Symptoms:**
- Automation triggers but actions don't execute
- Partial execution (some actions work, some fail)
- Actions timeout
**Solutions:**
- **Test actions individually:** Device control page → Execute action
- **Check device connectivity:** Device online? Hub online?
- **Verify capability:** Device supports the action? (e.g., basic bulb can't change color)
- **Check rate limits:** Too many actions in short time?
- **Review action parameters:** Correct format? (brightness 0-254 for Hue, 0-100 for SmartThings)
- **Add delays:** Spread out actions over time (avoid rate limits)
**Partial execution:**
- Actions executed sequentially, first failure stops execution
- Enable "Continue on error" in automation settings
- Use error handling per action (retry, fallback, skip)
---
Schedule Not Running
**Symptoms:**
- Scheduled automation doesn't run at specified time
- Runs at wrong time
- Runs multiple times
**Solutions:**
- **Check cron expression:** Verify format, test in crontab guru
- **Verify time zone:** Schedule in correct time zone?
- **Check enablement:** Automation enabled?
- **Review history:** Automations → [Automation] → Run History (last run time)
- **Server time:** ATOM SaaS server time correct?
- **Sunset/sunrise:** Location set correctly? (affects sunrise/sunset times)
**Time zone issues:**
- Automation uses tenant time zone (Settings → Tenant → Time Zone)
- Schedules stored in UTC, displayed in local time
- Daylight saving time: Automatic if time zone set correctly
---
Diagnostic Tools
Connection Testing
Test connectivity to hubs:
- **Navigate:** Integrations → [Platform] → Test Connection
- **View results:**
- ✓ Online: Hub reachable
- ✗ Offline: Hub not reachable
- ⚠ Latency: Connection slow (>500ms)
- **Interpret results:**
- Online but high latency: Network congestion, distance
- Offline: Check hub power, network, firewall
State Viewing
View raw device state for debugging:
- **Navigate:** Devices → [Device] → View State
- **See:**
- Current state (on/off, brightness, etc.)
- Last updated timestamp
- State source (hub, cached, manual)
- **Compare:** Check against hub app state
- **Sync:** If stale, click "Sync" to refresh
Log Analysis
View integration logs:
- **Navigate:** Settings → Logs → Smart Home
- **Filter by:**
- Platform (Hue, SmartThings, etc.)
- Device ID
- Date range
- Log level (Error, Warning, Info, Debug)
- **Export:** Download logs for support ticket
- **Common log entries:**
Rate limit exceeded: Too many API callsDevice offline: Hub reports device unreachableAuth failed: Token expired, re-authenticateConnection timeout: Network issue
Rate Limit Monitoring
Monitor API usage:
- **Navigate:** Integrations → [Platform] → Rate Limits
- **View:**
- Current usage: Requests in last minute
- Limit: Max requests per period
- % Used: Usage as percentage of limit
- **Timestamps:** See request times to identify spikes
- **Optimize:** If consistently near limit, reduce polling
---
Recovery Procedures
Re-authentication
If OAuth tokens expire:
- **Navigate:** Integrations → [Platform] → Settings
- **Click:** "Re-authenticate"
- **Complete OAuth flow:** Authorize again
- **Verify:** Devices re-discovered, tokens valid
**Prevent token expiry:**
- Tokens auto-refresh before expiry (SmartThings, Nest)
- Long-lived tokens don't expire (Home Assistant)
- Re-authenticate annually for security
Device Rediscovery
Refresh device list:
- **Navigate:** Integrations → [Platform] → Discover Devices
- **Process:**
- Existing devices: Updated (name, capabilities, state)
- New devices: Added to device registry
- Removed devices: Marked offline (not deleted)
- **Review:** Check device list for accuracy
- **Clean up:** Delete old/removed devices
Factory Reset Integration
**Warning:** Removes all devices, automations, scenes
**When to use:**
- Integration completely broken
- OAuth cannot be fixed
- Major hub firmware update
**Steps:**
- **Navigate:** Integrations → [Platform] → Settings
- **Scroll:** Bottom of page
- **Click:** "Reset Integration"
- **Confirm:** Enter integration name to confirm
- **Wait:** Integration removed, data cleared
- **Re-setup:** Follow initial setup process
**Before factory reset:**
- Export automations and scenes (if available)
- Note device configurations (names, rooms)
- Save OAuth credentials (may still work)
---
Getting Help
Self-Service Resources
- **Integration Guide:** INTEGRATION_GUIDE.md
- **Automation Guide:** AUTOMATION_GUIDE.md
- **Voice Control:** VOICE_CONTROL.md
- **Community Forum:** Post questions, search similar issues
Support Contact
For platform issues or bugs:
- **Email:** support@atom-saas.com
- **Include:**
- Platform (Hue, SmartThings, etc.)
- Error messages (screenshots helpful)
- Steps to reproduce
- Diagnostic logs (export from Settings → Logs)
- Browser console errors (if web UI issue)
Response Times
- **Critical issues:** All hubs down, security vulnerabilities (4 hours)
- **High priority:** Automation failures, major features broken (24 hours)
- **Normal priority:** Minor bugs, documentation questions (48 hours)
- **Low priority:** Feature requests, improvements (1 week)